package com.zcxy.sys.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zcxy.core.bean.PageQuery;
import com.zcxy.sys.entity.SysDict;
import com.zcxy.sys.entity.SysDictItem;
import com.zcxy.sys.pojo.SysDictVo;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;


/**
 * 字典主表 Service接口
 *
 * @author zcc
 * @email 860474958@qq.com
 * @date 2020-06-04
 */
public interface ISysDictService extends IService<SysDict> {
    /**
     * 字典主表：分页查询
     *
     * PageQuery<T>
     * @return Result<IPage < SysDictVo>>
     */
    IPage<SysDictVo> queryPageList(PageQuery<SysDict> queryVo);

    /**
     * 字典主表：复杂列表查询
     *
     * SysDict
     * @return List<SysDictVo>
     */
    List<SysDictVo> queryList(SysDict sysDict);

    /**
     * 字典主表：新增
     *
     * SysDict
     * @return void
     */
    SysDict addSysDict(SysDict queryVo);

    /**
     * 字典主表:更新
     *
     * SysDict
     * @return void
     */
    void updateSysDict(SysDict queryVo);

    /**
     * 字典主表:删除
     *
     * SysDict
     * @return void
     */
//    public void removeSysDict(String id);


    /**
     * 字典主表:删除
     *
     * @return void
     */
    List<String> removeAllSysDict(List<String> ids);


    void download(SysDict queryVo, HttpServletResponse response) throws IOException;


    void updateDisable(List<String> ids);

    void updateEnable(List<String> ids);

    SysDictVo viewSysDict(String id);

    List<SysDictItem> queryListSelectDataByCode(String code);
}
